// pages/login/index.js
const api = require('../../utils/api')
var app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        sendTime: '获取验证码',
        sendColor: '#363636',
        snsMsgWait: 60,
        phone:"",
        code:"",
        user:"",
        password:"",
        isCheck:false,
        show:true,
    },
    onChange: function(){
        this.setData({
            isCheck:!this.data.isCheck
        })
    },
    getUserInfo(){
        wx.getSetting({
          withSubscriptions: true,
          success: (res)=>{
            if (res.authSetting['scope.userInfo']) {
              wx.getUserProfile({
                desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
                success: (res) => {
                  app.globalData.userInfo = res.userInfo
                  wx.setStorageSync('userInfo', res.userInfo)
                  this.setData({
                    show:!this.data.show
                  })
                }
              })
               }
          }
        })
    },
    login: function(){
        // 登录
    wx.login({
        success: res => {
          // 发送 res.code 到后台换取 openId, sessionKey, unionId
          // 也就是发送到后端,后端通过接口发送到前端，前端接收用户信息等....
          wx.setStorageSync('code', res.code);
          console.log(wx.getStorageSync('code'))
          // 获取用户信息
          wx.getSetting({
            success: res => {
              if (res.authSetting['scope.userInfo']) {
                // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
                wx.getUserInfo({
                  success: res => {
                    // 可以将 res 发送给后台解码出 unionId
                    this.globalData.userInfo = res.userInfo
                    // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
                    // 所以此处加入 callback 以防止这种情况
                    if (this.userInfoReadyCallback) {
                      this.userInfoReadyCallback(res)
                    }
                  }
                })
              }
            }
          })
        }
      })
    },
    bindKeyInput: function (e) {
        this.setData({
          user: e.detail.value
        })
      },
      bindKeyCode: function (e) {
        this.setData({
          password: e.detail.value
        })
      },
      handleLogin: function (e){
        // let token = wx.getStorageSync('token')
        let obj = {
            user:this.data.user,
            password:this.data.password
        }
        api.login2({
            method:'post',
            data:obj,
            success:function (res){
              console.log(res,'token')
              if(res.data.success){
                  console.log(res,'aa')
                  wx.setStorageSync('token', res.data.data.data.token)
                  wx.setStorageSync('roles',res.data.data.data.permcontent)
                  wx.setStorageSync('uid',res.data.data.data.UID)
                  wx.setStorageSync('perm',res.data.data.data.perm)
                wx.navigateTo({
                    url: '../../pages/userList/index',
                })
              }
            //   wx.setStorageSync('token', res.data.data.data.data.id)
            //   wx.navigateTo({
            //     url: '../../pages/my/index',
            //   })
            //   wx.navigateBack({
            //     delta: 0,
            //   })
            }
          })
      },
    sendCode: function() {  
        // 60秒后重新获取验证码
            console.log(this.data.phone,'hphoho')
            if(!this.data.phone){
                wx.showModal({
                    title: '提示',
                    content: '请输入手机号',
                    success (res) {
                      if (res.confirm) {
                        console.log('用户点击确定')
                      } else if (res.cancel) {
                        console.log('用户点击取消')
                      }
                    }
                  })
                return
            }

            if(!this.data.smsFlag){
                var inter = setInterval(function() {
                    this.setData({
                      smsFlag: true,
                      sendColor: '#cccccc',
                      sendTime: this.data.snsMsgWait + 's后重发',
                      snsMsgWait: this.data.snsMsgWait - 1
                    });
                    if (this.data.snsMsgWait < 0) {
                      clearInterval(inter)
                      this.setData({
                        sendColor: '#363636',
                        sendTime: '获取验证码',
                        snsMsgWait: 60,
                        smsFlag: false
                      });
                    }
                  }.bind(this), 1000);
                  let obj = {
                    "opcode": "Int16Array", 
                    "phone": this.data.phone
                }
                api.sendCode({
                    data:obj,
                    method:'post',
                    success: (res)=>{
                        console.log(res,'res')
                        wx.showToast({
                            title: '发送验证码成功',
                            icon: 'success',
                            duration: 2000
                          })
                    }
                })
            }


         },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        // this.login()
        // this.getUserInfo()
        let token = wx.getStorageSync('token')
        if(token){
            wx.redirectTo({
                url: '../../pages/userList/index',
            })
        }
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {
    let userInfo = wx.getStorageSync('userInfo')
      if(userInfo.nickName){
        this.setData({
          show:false
        })
      }else{
        
      }
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})